#唐门优测
#道长最帅666
""
"""
pytest-parallel在Windows下执行失败以及解决办法attributeerror：can't pickle local object****
两个解决办法：
1.回退版本0.0.10
2.在pycharm中指定项目为pytest项目

进程：工厂，线程：工人
打开微信，开启了一个进程，在微信里面操作查看朋友圈，扫一扫，摇一摇，这么多的操作就是线程
进程是包含线程的，线程是进程一个子集

一，安装
pip install pytest-xdist
pip install pytest-parallel

二，对比说明
    pytest-parallel比pytest-xdist相对好用，功能支持多
    pytest-xdist不支持多线程
    多线程：liunx或者Mac，Windows上不起作用永远是1
    多线程：liunx Mac Windows 平台都支持
    
三、pytest-xdist常用配置命令
    示例：pytest -s test66.py -n=2 #2个进程运行py文件
    -n:进程数，也就是CPU个数，最大数为当前机器CPU个数，也可以设置为auto，自动识别CPU个数

四、pytest-parallel常用配置命令
    示例：
    pytest test66.py --workers 3        :3个进行运行
    pytest test66.py --test-per-work 4      :4个线程运行
    pytest test66.py --workers 2 --tests-per-worker 4  :2个进程并行，且每个进程最多4个线程运行，
    总共最多8个线程运行。
    -workers * :多进程运行需要加此参数，*是进程数。默认为1.
    -test-per-worker * :多线程运行， * 是每个worker运行的最大并发线程数，默认1
"""

import pytest
import time

def test01():
    time.sleep(3)
    print("测试用例1")

def test02():
    time.sleep(3)
    print("测试用例2")


def test03():
    time.sleep(3)
    print("测试用例3")


def test04():
    time.sleep(3)
    print("测试用例4")

if __name__ == '__main__':
    pytest.main()
    # pytest.main(['-s',__file__,'--workers=1','--tests-per-worker=4'])